<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="app">
           <input type="text" v-model.number="num1">
           <span>+</span>
           <input type="text" v-model.number="num2">
           <span>=</span>
           <span>{{ sum }}</span>
           <span>{{ sum }}</span>
           <span>{{ sum }}</span>
           <span>{{ sum }}</span>
           <span>{{ sum }}</span>
           <span>{{ sum }}</span>

           
      </div>
    <script src="./vue.js"></script>
    <script>
        new Vue({
            el: "#app",
            data() {
                return {
                   num1: 0,
                   num2: 0
                }
            },
            computed: {
                // 计算属性有缓存，能提高性能
                // 计算属性会在第一次来调用，并得到结果，然后把这个结果缓存起来了
                // 后面每次拿，都是直接从缓存里取的
                // 当它的任何一个依赖项发生改变，都会来重新调用并计算一个新的结果，再把
                // 新的结果缓存起来方便下次用
                // 什么叫依赖项？ 计算属性内部用到的别的数据都叫依赖项
                // 所以下面的计算属性里：num1和num2都是依赖项

                // 计算属性的用法反而跟普通属性用法一样，普通属性能怎么用计算属性就能怎么用
                sum () {
                    console.log('sum被调用')
                    return this.num1 + this.num2
                }
            }
        })
    </script>
</body>
</html>